tsteven4 [Tue, 8 Jan 2019 23:09:05 +0000 (16:09 -0700)]
refactor trackfilter.
use std::sort, stable_sort instead of qsort.
use QList instead of malloc'd arrays.
minimize the use of duplicated information (track_ct, track_pts, timeless_pts
first_time, last_time), and maintain the remaining
duplicated information (track_list, a possible sorted version of my_track_head).
use auto some more.
eliminate some redundant casting.
eliminate atoi.
tsteven4 [Tue, 8 Jan 2019 19:57:11 +0000 (12:57 -0700)]
in trackfilter remove redundant casts and use auto.
tsteven4 [Mon, 7 Jan 2019 16:57:41 +0000 (09:57 -0700)]
trackfilter bools and case insensitive opts.
tsteven4 [Sun, 6 Jan 2019 20:12:28 +0000 (13:12 -0700)]
refactor track filter.
user visible changes:
Previously it was possible to cause a segmentation fault (due to a double delete)
if all the tracks were filtered out by the stop and start options.
This has been corrected.
Previously UTC time was used with the title option for split operations,
but local time was used with the title option for the pack operations.
Now UTC time is always used with the title option.
Previously the split and sdistance options allowed an option value
consisting of only the units. This was undocumented. Now both a number
and the units are required.
Previously the split option documentation stated that units of seconds
would be used if none were specified, however the units were actually required.
The documenation is updated to reflect historical and current usage.
Previously the split and sdistance options allowed the units to precede or
follow the quantity. The documentation stated the units must follow the
quantity. Now the units must follow the quantity.
Previously synthesized speeds ignored the fractional part of the track point times,
now the fractional part of the track point times are used in the speed calculation.
refactoring changes:
time_t is replaced where possible by gpsbabel::DateTime or QDateTime.
option value parsing is done with QRegularExpression.
some integer types were converted to bool types.
test cases are expanded for better coverage.
Aslak Vaa [Mon, 31 Dec 2018 17:30:08 +0000 (18:30 +0100)]
Corrected handling elevation and speed (#291)
* Corrected handling elevation and speed
* Added reference files for testing converting fit-file from Garmin Oregon 700 to gpx-file
* Added test of converting fit-file from Garmin Oregon 700 to gpx-file
tsteven4 [Fri, 28 Dec 2018 17:14:33 +0000 (10:14 -0700)]
add include guard for src/core/optional.h (#290)
tsteven4 [Fri, 28 Dec 2018 16:16:41 +0000 (09:16 -0700)]
clazy cleanup for gui (#289)
GPSBabel [Fri, 28 Dec 2018 00:00:15 +0000 (18:00 -0600)]
Merge pull request #288 from tsteven4/lat_dir_input
enhance xcsv reader to not ignore LAT_DIR,LON_DIR.
GPSBabel [Thu, 27 Dec 2018 21:19:34 +0000 (15:19 -0600)]
Merge pull request #287 from tsteven4/lat_dir
fix up style file OFIELD option processing.
tsteven4 [Thu, 27 Dec 2018 20:38:24 +0000 (13:38 -0700)]
enhance xcsv reader to not ignore LAT_DIR,LON_DIR.
this came up on [Gpsbabel-misc] Globalsat DG-500.
tsteven4 [Thu, 27 Dec 2018 18:38:34 +0000 (11:38 -0700)]
fix up style file OFIELD option processing.
GPSBabel [Wed, 26 Dec 2018 04:07:33 +0000 (22:07 -0600)]
Merge pull request #285 from gpsbabel/atoi
Atoi: rely less on atoi, scanf, other cleanups. Safer parsing in stmsdf in particular.
GPSBabel [Sat, 22 Dec 2018 18:59:25 +0000 (12:59 -0600)]
Merge branch 'master' into atoi
GPSBabel [Sat, 22 Dec 2018 18:58:16 +0000 (12:58 -0600)]
Merge pull request #284 from gpsbabel/cl-cleanups
CodeLion-inspired and manual cleanups
tsteven4 [Thu, 20 Dec 2018 16:38:22 +0000 (09:38 -0700)]
add support for multiple urls for route headers. (#276)
* add support for multiple urls for route headers.
add support in gpx for gpx/rte/link, gpx/rte/url, gpx/rte/urlname.
add support in gpx for gpx/trk/link, gpx/trk/url, gpx/trk/urlname.
Note that the gpx writer can violate the schema when fprint_xml_chain
is used to echo unrecognized elements from input to output.
This is because the gpx 1.0/1.1 schema requires an xsd:sequence of
elements, i.e. the order of the elements is specified, and any
elements output by fprint_xml_chain won't necessarily be in
the correct order with other elements that are specifically
handled in the gpx writer.
By processing additional gpx elements as listed above on read we
prevent them from causing schema violations on write. However,
other unrecognized elements can still cause schema violations.
* make common link code common in gpx reader.
Robert Lipe [Thu, 20 Dec 2018 04:50:06 +0000 (22:50 -0600)]
Don't #include debug
Robert Lipe [Thu, 20 Dec 2018 04:24:41 +0000 (22:24 -0600)]
A near rewrite of the reader of the stmsdf reader to more effectively parse fields as QDate,Times,Floats, etc. Still not very readable, but should be more bulletproof for bad input.
Robert Lipe [Thu, 20 Dec 2018 04:21:00 +0000 (22:21 -0600)]
Don't name params in decls in itracku
Robert Lipe [Thu, 20 Dec 2018 04:20:24 +0000 (22:20 -0600)]
Sign extension fix in EasyGPS
Robert Lipe [Thu, 20 Dec 2018 04:19:40 +0000 (22:19 -0600)]
Remove xstrrstr and BASE_STRUCT from defs.h
Robert Lipe [Thu, 20 Dec 2018 04:19:05 +0000 (22:19 -0600)]
Remove write-only variable in compegps.
Robert Lipe [Thu, 20 Dec 2018 04:18:29 +0000 (22:18 -0600)]
Drop some unused method protos from CET.
Robert Lipe [Thu, 20 Dec 2018 04:15:01 +0000 (22:15 -0600)]
XmlStreamWriter: make single arg methods explicit. Drop unused methods.
Robert Lipe [Wed, 19 Dec 2018 05:44:48 +0000 (23:44 -0600)]
Removing scraggling bits of xhtmlent from build files.
Robert Lipe [Wed, 19 Dec 2018 05:25:09 +0000 (23:25 -0600)]
Remove (now) unused xhtmlent table.
Robert Lipe [Wed, 19 Dec 2018 04:56:45 +0000 (22:56 -0600)]
Make types in ggv_bin more safe for 32/64 systems.
Robert Lipe [Wed, 19 Dec 2018 04:49:13 +0000 (22:49 -0600)]
Default construct to eliminate warning in geojson
Robert Lipe [Wed, 19 Dec 2018 03:52:14 +0000 (21:52 -0600)]
Build fix for Cmake/CLion on Mac. Correct handling of frameworks. They're like
libs, but not...
tsteven4 [Fri, 14 Dec 2018 14:24:23 +0000 (07:24 -0700)]
add cppcheck target to GPSBabel.pro. (#280)
* add cppcheck target to GPSBabel.pro.
fix a few cppcheck errors.
* fix a few cppcheck items.
strptime fix is from upstream.
Robert Lipe [Tue, 4 Dec 2018 06:47:36 +0000 (00:47 -0600)]
Wrap (use) of variables in #defines.
Robert Lipe [Mon, 3 Dec 2018 06:47:50 +0000 (00:47 -0600)]
Warning fix in raymarine
Robert Lipe [Mon, 3 Dec 2018 06:46:02 +0000 (00:46 -0600)]
Warning fix in locus
Robert Lipe [Mon, 3 Dec 2018 06:43:29 +0000 (00:43 -0600)]
Fix warning in maggeo
Robert Lipe [Mon, 3 Dec 2018 06:37:29 +0000 (00:37 -0600)]
Warning fixes in jeeps: move use closer to initialization so that the
test of device is effective, don't set locals before return.
Robert Lipe [Mon, 3 Dec 2018 06:34:13 +0000 (00:34 -0600)]
Tame string formatting warning in libusb.
Robert Lipe [Mon, 3 Dec 2018 06:16:39 +0000 (00:16 -0600)]
Remove unneeded const qualifier on pass-by-value types.
Robert Lipe [Mon, 3 Dec 2018 06:05:08 +0000 (00:05 -0600)]
Replace size() == 0 with empty() when more readable.
Robert Lipe [Mon, 3 Dec 2018 05:58:26 +0000 (23:58 -0600)]
Const-ipate jeeps function signature. (Yeah, coz THAT makes that API beautiful...)
Robert Lipe [Mon, 3 Dec 2018 05:50:03 +0000 (23:50 -0600)]
Automated cleanups for passing by reference and fixing pointer ownership on calls.
Robert Lipe [Mon, 3 Dec 2018 05:45:25 +0000 (23:45 -0600)]
Modernize loop iterators to walk arrays and containes instead of independently
maintained constants.
Robert Lipe [Mon, 3 Dec 2018 05:41:22 +0000 (23:41 -0600)]
Modernize C style explicit (void) in decls to (), eliminate return
at end of bunction bodies.
Robert Lipe [Mon, 3 Dec 2018 05:35:53 +0000 (23:35 -0600)]
Modernize bool use of true/false.
Robert Lipe [Mon, 3 Dec 2018 05:34:28 +0000 (23:34 -0600)]
Make prototype arg names match function arg names.
Robert Lipe [Mon, 3 Dec 2018 04:49:33 +0000 (22:49 -0600)]
Pick up a few old NULL->nullptr conversions that are stuck inside __APPLE that
tsteven4 dodged around since he couldn't confirm.
Robert Lipe [Mon, 3 Dec 2018 04:45:41 +0000 (22:45 -0600)]
For single argument ctors, mark type explicit.
Robert Lipe [Mon, 3 Dec 2018 04:39:59 +0000 (22:39 -0600)]
If there's only one argument in a ctor, mark it explicit to make it less
easy to fall into implicit conversions.
Robert Lipe [Mon, 3 Dec 2018 04:35:22 +0000 (22:35 -0600)]
Diff and Terrain in geocaches are integers internally.
tsteven4 [Sun, 2 Dec 2018 23:52:22 +0000 (16:52 -0700)]
generate html coverage reports. (#281)
* generate html coverage reports.
* tweak coverage recipe.
tsteven4 [Sat, 1 Dec 2018 15:03:37 +0000 (08:03 -0700)]
remove obsolete msvc workarounds. (#278)
msvc 2012 and earlier are not supported.
They didn't support c++14 anyway which we currently require.
tsteven4 [Wed, 28 Nov 2018 14:00:10 +0000 (07:00 -0700)]
use QThread::usleep instead of our own function. (#277)
Our test suite doesn't test sleep, but the nmea pause option
can be used on write to verify functionality interactively.
tsteven4 [Wed, 28 Nov 2018 01:48:17 +0000 (18:48 -0700)]
obsolete DEBUG_MEM (#279)
tsteven4 [Tue, 27 Nov 2018 23:37:49 +0000 (16:37 -0700)]
simplify conversion from utm. (#275)
* simplify conversion from utm.
add test cases for Norway and Svalbard exceptions.
* Correct bug in computing latitude band X.
enhance test to cover exceptional width of band X.
tsteven4 [Sat, 24 Nov 2018 18:59:45 +0000 (11:59 -0700)]
update shapelib to 1.4.1 (#274)
tsteven4 [Mon, 19 Nov 2018 18:54:46 +0000 (11:54 -0700)]
enhance sort filter for rtes & trks. (#273)
tsteven4 [Sat, 17 Nov 2018 22:06:31 +0000 (15:06 -0700)]
use bool, true, false. (#272)
tsteven4 [Wed, 14 Nov 2018 16:41:06 +0000 (09:41 -0700)]
add msvc2017 builds to appveyor. (#270)
tsteven4 [Wed, 14 Nov 2018 15:42:28 +0000 (08:42 -0700)]
update docker build script to use latest bionic. (#269)
tsteven4 [Wed, 14 Nov 2018 15:09:23 +0000 (08:09 -0700)]
Merge pull request #266 from tsteven4/clazy1
Incorporate improvements found by Qt oriented code checker clazy
GPSBabel [Wed, 14 Nov 2018 02:42:14 +0000 (20:42 -0600)]
Merge pull request #267 from gpsbabel/gpsbabel-patch-2
Remove leftover code from 'adding class' change
GPSBabel [Tue, 13 Nov 2018 21:07:09 +0000 (15:07 -0600)]
Remove leftover code from 'adding class' change
As tsteven4 points out, No reasing to move is_internal to local and back
tsteven4 [Tue, 13 Nov 2018 15:53:34 +0000 (08:53 -0700)]
fix clazy detected 'use isEmpty() instead'
this is from -Wclazy-isempty-vs-count
tsteven4 [Tue, 13 Nov 2018 15:30:46 +0000 (08:30 -0700)]
fix clazy detected 'Use *Ref() instead'
These are from -Wclazy-qstring-ref, and were automatically fixed.
tsteven4 [Tue, 13 Nov 2018 15:18:09 +0000 (08:18 -0700)]
fix clazy detected 'unused *'
these are from -Wclazy-unused-non-trivial-variable
tsteven4 [Tue, 13 Nov 2018 14:59:10 +0000 (07:59 -0700)]
fix clazy detected 'allocating an unneeded temporary container'
these are from -Wclazy-container-anti-pattern
Also, consistently use range based for loops in csv_util.cc
tsteven4 [Mon, 12 Nov 2018 16:13:28 +0000 (09:13 -0700)]
fix clazy detected 'c++11 range-loop might detach Qt container'
these are from -Wclazy-range-loop
tsteven4 [Mon, 12 Nov 2018 15:12:21 +0000 (08:12 -0700)]
fix clazy detected 'Use multi-arg instead'
these are from -Wclazy-qstring-arg
tsteven4 [Sun, 4 Nov 2018 17:36:58 +0000 (10:36 -0700)]
update travis for xenial (#265)
* update travis to use xenial.
add new travis target to build on xenial.
switch travis coverage generation to xenial.
update codacy upload tool for compatibility with newer java on xenial.
* fix gcov issues with "cannot open notes file"
tsteven4 [Fri, 2 Nov 2018 13:55:31 +0000 (07:55 -0600)]
support kml 2.3 track element. (#264)
* support kml 2.3 track element.
relax ordering requirement for gx:Track when and
coord children.
* fix kml includes and indentation.
GPSBabel [Fri, 19 Oct 2018 21:30:04 +0000 (16:30 -0500)]
Merge pull request #261 from gpsbabel/gpsbabel-patch-2
Update dependencies, notably for <optional>
tsteven4 [Fri, 19 Oct 2018 12:13:51 +0000 (06:13 -0600)]
Replace queues with Qlist in session handling. (#263)
session tracks a possible series of input formats and input filenames.
tsteven4 [Tue, 16 Oct 2018 16:21:00 +0000 (10:21 -0600)]
Merge pull request #262 from tsteven4/tcache
extend travis mac cache timeout.
tsteven4 [Tue, 16 Oct 2018 15:21:22 +0000 (09:21 -0600)]
extend travis mac cache timeout.
tsteven4 [Tue, 16 Oct 2018 13:00:54 +0000 (07:00 -0600)]
Merge pull request #260 from tsteven4/cpp14_msvc
move to c++14 standard.
GPSBabel [Tue, 16 Oct 2018 05:54:13 +0000 (00:54 -0500)]
Merge pull request #259 from tsteven4/queue_bye_bye
eliminate queues in csv style handling.
GPSBabel [Tue, 16 Oct 2018 05:22:42 +0000 (00:22 -0500)]
Update dependencies, notably for <optional>
tsteven4 [Tue, 16 Oct 2018 02:14:44 +0000 (20:14 -0600)]
Merge pull request #256 from tsteven4/rpath
have configure conditionally set rpath.
tsteven4 [Tue, 16 Oct 2018 01:26:53 +0000 (19:26 -0600)]
move to c++14 standard.
tsteven4 [Mon, 15 Oct 2018 17:00:54 +0000 (11:00 -0600)]
eliminate queues in csv style handling.
also:
fix bug with style option encoding.
pass some parameters by const reference.
eliminate some unused time fiddling.
tsteven4 [Thu, 11 Oct 2018 18:40:19 +0000 (12:40 -0600)]
Merge pull request #258 from tsteven4/sortbug
correct sort filter time option to use msecs.
tsteven4 [Thu, 11 Oct 2018 17:28:41 +0000 (11:28 -0600)]
correct sort filter time option to use msecs.
tsteven4 [Tue, 9 Oct 2018 19:42:37 +0000 (13:42 -0600)]
use consistent whitespace in configure comments.
tsteven4 [Tue, 9 Oct 2018 18:47:42 +0000 (12:47 -0600)]
have configure conditionally set rpath.
this may be necessary when using a Qt installation
that was not provided by the system.
GPSBabel [Tue, 9 Oct 2018 05:45:25 +0000 (00:45 -0500)]
Merge pull request #255 from gpsbabel/parallel
Parallelize CLI and GUI make.
Robert Lipe [Tue, 9 Oct 2018 04:57:28 +0000 (04:57 +0000)]
Parallelize CLI and GUI make. testo and vtesto are harder.
GPSBabel [Tue, 9 Oct 2018 04:20:55 +0000 (23:20 -0500)]
Merge pull request #254 from gpsbabel/tweaks
Move more xcsv processing into QStrings. Fewer conversions
Robert Lipe [Tue, 9 Oct 2018 03:27:05 +0000 (03:27 +0000)]
Allow string to be modified during parse. Ugh.
Robert Lipe [Mon, 8 Oct 2018 23:20:45 +0000 (18:20 -0500)]
Let xcsv parser keep QStrings up for one more level.
Robert Lipe [Mon, 8 Oct 2018 23:17:34 +0000 (18:17 -0500)]
Push QStrings -> char * conversions down one more level.
GPSBabel [Mon, 8 Oct 2018 23:14:58 +0000 (18:14 -0500)]
Merge pull request #253 from gpsbabel/tweaks
Find gsed when doing a tools/docfix on a Mac populated by Homebrew: G…
Robert Lipe [Mon, 8 Oct 2018 19:21:04 +0000 (14:21 -0500)]
Find gsed when doing a tools/docfix on a Mac populated by Homebrew: GNU sed is /usr/local/bin/
GPSBabel [Mon, 8 Oct 2018 19:20:31 +0000 (14:20 -0500)]
Merge pull request #252 from gpsbabel/tweaks
Find gsed when doing a tools/docfix on a Mac populated by Homebrew: GNU sed is /usr/local/bin/
GPSBabel [Sat, 6 Oct 2018 04:24:14 +0000 (23:24 -0500)]
Merge pull request #249 from codacy-badger/codacy-badge
Add a Codacy badge to README.md
GPSBabel [Fri, 14 Sep 2018 21:05:48 +0000 (16:05 -0500)]
Add codacy badges to Github README.md
The Codacy Badger [Fri, 14 Sep 2018 20:55:52 +0000 (20:55 +0000)]
Add Codacy badge
tsteven4 [Sat, 1 Sep 2018 12:52:27 +0000 (06:52 -0600)]
Merge pull request #246 from tsteven4/trackdata
introduce optional class
tsteven4 [Thu, 30 Aug 2018 16:36:07 +0000 (10:36 -0600)]
introduce optional class
for things that may or may not have a value.
demonstrate usage with computed_trkdata.
tsteven4 [Sat, 25 Aug 2018 22:37:27 +0000 (16:37 -0600)]
Merge pull request #245 from tsteven4/exif2
a few exif cleanups.
tsteven4 [Sat, 25 Aug 2018 21:17:03 +0000 (15:17 -0600)]
a few exif cleanups.
tsteven4 [Thu, 23 Aug 2018 00:22:25 +0000 (18:22 -0600)]
Merge pull request #230 from tsteven4/bng
allow unicsv bng input to use all numeric grid references.
tsteven4 [Wed, 22 Aug 2018 23:51:34 +0000 (17:51 -0600)]
tweak unicsv bng documentation thanks Hornbydd.